#ifndef _ML_UNIFORM_DISTRIBUTION_NUMBER_GENERATOR_H_
#define _ML_UNIFORM_DISTRIBUTION_NUMBER_GENERATOR_H_
#include "MLCommon.h"
#include "MLDataPoint.h"
#include "MLDataSet.h"
#include "MLRandomNumberGenerator.h"
_MYLABLIB_BEGIN

class CMLNumGen_Uniform : public IMLRandomNumberGenerator
{
public:
	// Constructor and Destructor
	CMLNumGen_Uniform(void);
	CMLNumGen_Uniform(const std::vector<double>& vMin, const std::vector<double>& vMax);
	~CMLNumGen_Uniform(void);

public:
	// Interface
	CMLDataPoint Generate(void);
	inline static void ResetSeed()
	{
		srand((unsigned)time(NULL));
	}


private:
	// Fields
	std::vector<double> m_vMin;
	std::vector<double> m_vMax;
	std::vector<double> m_vPrecise;
	int    m_nNumDimensions;
};


_MYLABLIB_END
#endif
